package com.tedu.api.io;

import org.apache.commons.imaging.*;
import org.junit.Test;

import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;

/**
 * 图片 流
 *
 *准备：1.项目结构Maven----在线下载jar包【压缩包--很多类--包导入】
 *     2.准备一张小图片
 *     3.知道Maven仓库网站--->百度，搜mvn仓库
 *      https://mvnrepository.com/
 *      仓库搜：commons-imaging
 *
 * 仓库 坐标 【理解为jar的下载链接】---粘贴到pom.xml文件中
 * <dependency>
 *     <groupId>org.apache.commons</groupId>
 *     <artifactId>commons-imaging</artifactId>
 *     <version>1.0-alpha2</version>
 * </dependency>
 *
 * 第三方库---高手提供好类库：图片格式，图片大小等！
 */
public class imageFile {
    /**
     *Apache Commons Imaging
     *jar中很多类，静态方法设置类中
     *Imaging类--->getBufferedImage【文件引用传入】
     * 读操作：可以读到宽度 高度 像素等
     */
    @Test
    public void testImageR() throws IOException, ImageReadException {
        //File 文件:获取文件路径
        File file=new File("骚狗.png");
    //获取图片文件信息
       BufferedImage bi=Imaging.getBufferedImage(file);
       //打印 图片 文件信息：宽高
        int width=bi.getWidth(); //宽
        int height=bi.getHeight();//高
        System.out.println("图片宽"+width+"图片高"+height);

    }
    /**
     * Apache Commons Imaging
     * 写操作：先进行读操作，然后写出图片
     *Imaging图片类：静态写出方法
     * Imaging.writeImage(读入图片，写出图片，指定图片格式，null)
     */
    @Test
    public void testImageW() throws IOException, ImageReadException, ImageWriteException {
    //读入图片
      File file=new File("骚狗.png");
      BufferedImage src=Imaging.getBufferedImage(file);
    //写出图片
      File desc=new File("写出图片.png");
      Imaging.writeImage(src,desc, ImageFormats.PNG,null);
        System.out.println("写出成功");
    }


















}
